package com.kandinfo.isbnmanage.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.kandinfo.base.common.service.AbstractService;
import com.kandinfo.isbnmanage.domian.IsbnLog;
import com.kandinfo.isbnmanage.dto.IsbnBusinessReqDto;
import com.kandinfo.isbnmanage.repository.IsbnLogRepository;
import com.kandinfo.isbnmanage.service.IsbnLogService;

@Service
public class IsbnLogServiceImpl extends AbstractService<IsbnLog, Long, IsbnLogRepository> implements IsbnLogService {

	@Autowired
	IsbnLogRepository isbnLogRepository;

	@Resource
	public void setIsbnLogRepository(IsbnLogRepository isbnLogRepository) {
		super.setRepository(isbnLogRepository);
	}

	@Override
	public List<IsbnLog> findByBarcode(String barcode) {
		return isbnLogRepository.findByBarcode(barcode);
	}

	@Override
	public void addIsbnLog(IsbnBusinessReqDto isbnBusinessReqDto) {
		IsbnLog isbnLog = new IsbnLog();
		isbnLog.setCreateTs(isbnBusinessReqDto.getDate());
		isbnLog.setCreateBy(isbnBusinessReqDto.getCurUserId());
		isbnLog.setBarcode(isbnBusinessReqDto.getIsbnInformation().getBarcode());
		isbnLog.setOperate(isbnBusinessReqDto.getNextStatus());
		isbnLog.setStatusFrom(isbnBusinessReqDto.getCurStatus());
		isbnLog.setStatusTo(isbnBusinessReqDto.getNextStatus());
		isbnLog.setIsbnInformationId(isbnBusinessReqDto.getIsbnInformation().getId());
		isbnLog.setComments(isbnBusinessReqDto.getComments());
		isbnLogRepository.save(isbnLog);
	}

}
